Custom Task কম্পাইল এবং অন্তর্ভুক্ত করা

Java Technologies - অ্যাপাচি অ্যান্ট (Apache ANT) কাস্টম টাস্ক তৈরি |
236
236

Apache ANT একটি অত্যন্ত কাস্টমাইজেবল বিল্ড টুল, যা বিভিন্ন প্রকারের built-in টাস্ক (যেমন javac, copy, jar) প্রদান করে, তবে কখনো কখনো প্রজেক্টের জন্য বিশেষ ধরনের কাজ সম্পাদন করতে কাস্টম টাস্কের প্রয়োজন হয়। ANT-এ custom task তৈরি করে আপনি আপনার প্রয়োজন অনুযায়ী কাজ করতে পারেন। এই কাস্টম টাস্ক Java ক্লাস হিসেবে তৈরি করা হয় এবং ANT ফাইলের মধ্যে অন্তর্ভুক্ত করা হয়।

এই গাইডে, আমরা দেখব কীভাবে custom task তৈরি এবং কম্পাইল করতে হয় এবং কীভাবে তা ANT ফাইলে অন্তর্ভুক্ত করা যায়।


1. Custom Task তৈরি করা

Custom Task তৈরি করতে, প্রথমে আপনাকে একটি Java ক্লাস তৈরি করতে হবে, যা ANT টাস্কের কার্যক্রম সম্পাদন করবে। একটি ANT টাস্কে org.apache.tools.ant.Task ক্লাস বা তার উপশ্রেণী (subclass) হতে হবে।

Custom Task Java ক্লাস:

MyCustomTask.java:

package com.example.ant;

import org.apache.tools.ant.Task;
import org.apache.tools.ant.BuildException;

public class MyCustomTask extends Task {

    // Override the execute method to define the task behavior
    @Override
    public void execute() throws BuildException {
        System.out.println("Hello, this is a custom ANT task!");
    }
}
  • Task ক্লাসের subclass হিসেবে MyCustomTask তৈরি করা হয়েছে।
  • execute() মেথডটি override করা হয়েছে, যা task চালানোর সময় ANT দ্বারা কল হবে।

2. Custom Task কম্পাইল করা

আপনি যখন Java ক্লাস তৈরি করবেন, তখন এটি কম্পাইল করতে হবে এবং ANT টাস্ক হিসেবে ব্যবহারযোগ্য করতে হবে।

কম্পাইল করার জন্য:

  1. প্রথমে Java ক্লাসটি কম্পাইল করুন:

    javac -d . MyCustomTask.java
    

    এখানে -d . অপশন ব্যবহার করে কম্পাইল করা Java ক্লাসের আউটপুট বর্তমান ডিরেক্টরিতে রাখা হচ্ছে।

  2. এরপর, এই কম্পাইল করা ক্লাসটি একটি JAR ফাইলে প্যাকেজ করুন (যেহেতু এটি ANT টাস্ক, এটি JAR ফাইল হিসেবে প্যাকেজ করা যেতে পারে)।

    jar cvf customtask.jar -C . com
    

    এই কমান্ডটি com প্যাকেজ সহ MyCustomTask.class ফাইলটি customtask.jar ফাইলে প্যাকেজ করবে।


3. Custom Task ANT ফাইলে অন্তর্ভুক্ত করা

ANT ফাইলে Custom Task অন্তর্ভুক্ত করার জন্য আপনাকে taskdef ট্যাগ ব্যবহার করতে হবে। taskdef ট্যাগটি ANT-কে আপনার কাস্টম টাস্কের ক্লাস এবং JAR ফাইল সম্পর্কে তথ্য দেয়।

ANT ফাইলে Custom Task অন্তর্ভুক্ত করা:

build.xml:

<?xml version="1.0" encoding="UTF-8"?>
<project name="CustomTaskExample" default="execute" basedir=".">

    <!-- Define custom task -->
    <taskdef name="mytask" 
             classname="com.example.ant.MyCustomTask" 
             classpath="path/to/customtask.jar"/>

    <!-- Target to execute custom task -->
    <target name="execute">
        <mytask/>
    </target>

</project>
  • taskdef:
    • name: এখানে "mytask" হল কাস্টম টাস্কের নাম, যা ANT ফাইলে টাস্কের জন্য ব্যবহার করা হবে।
    • classname: এখানে com.example.ant.MyCustomTask হল কাস্টম টাস্কের Java ক্লাসের পূর্ণ কোয়ালিফাইড নাম।
    • classpath: এখানে JAR ফাইলের পথ উল্লেখ করতে হবে যেখানে আপনার কাস্টম টাস্কের ক্লাস প্যাকেজ করা আছে।
  • <mytask/>: এটি কাস্টম টাস্কটি চালানোর জন্য ব্যবহৃত হয়। <mytask/> এই ট্যাগটি taskdef-এ নির্ধারিত কাস্টম টাস্কের সমতুল্য।

4. Custom Task চালানো

কাস্টম টাস্ক অন্তর্ভুক্ত করার পর, ant কমান্ড ব্যবহার করে বিল্ড চালানো যেতে পারে।

ant execute

এটি execute টার্গেট চালাবে, যা আপনার কাস্টম টাস্ক চালাবে এবং Hello, this is a custom ANT task! মেসেজটি কমান্ড লাইনে প্রিন্ট করবে।


5. Custom Task এর উন্নত ব্যবহার

কাস্টম টাস্ক আরও উন্নত করতে আপনি বিভিন্ন atributes এবং nested elements যুক্ত করতে পারেন। উদাহরণস্বরূপ, আপনি কাস্টম টাস্কে ইনপুট প্যারামিটার পাস করতে পারেন।

Parameterized Custom Task:

MyCustomTask.java (Parameterized):

package com.example.ant;

import org.apache.tools.ant.Task;
import org.apache.tools.ant.BuildException;

public class MyCustomTask extends Task {
    private String message;

    // Setter for the message parameter
    public void setMessage(String message) {
        this.message = message;
    }

    @Override
    public void execute() throws BuildException {
        if (message == null) {
            throw new BuildException("Message attribute is required!");
        }
        System.out.println(message);
    }
}

এখানে setMessage() মেথডটি যোগ করা হয়েছে যা ANT ফাইলে পাস করা ইনপুট মেসেজ গ্রহণ করবে।

build.xml (Parameterized):

<?xml version="1.0" encoding="UTF-8"?>
<project name="CustomTaskExample" default="execute" basedir=".">

    <!-- Define custom task with parameter -->
    <taskdef name="mytask" 
             classname="com.example.ant.MyCustomTask" 
             classpath="path/to/customtask.jar"/>

    <target name="execute">
        <!-- Pass a message to custom task -->
        <mytask message="Hello, Custom Task with Parameter!"/>
    </target>

</project>

এখন আপনি message অ্যাট্রিবিউট পাস করতে পারেন এবং কাস্টম টাস্ক সেই মানটি ব্যবহার করবে।


6. সারাংশ

  • Custom Task তৈরি করতে Java ক্লাস তৈরি করুন যা org.apache.tools.ant.Task ক্লাসের subclass হবে এবং execute() মেথডটি override করবে।
  • Custom Task কম্পাইল করতে Java ক্লাসটি কম্পাইল করে একটি JAR ফাইলে প্যাকেজ করুন।
  • ANT ফাইলে Custom Task অন্তর্ভুক্ত করতে taskdef ট্যাগ ব্যবহার করুন এবং প্রয়োজনীয় ক্লাসপাথ সেট করুন।
  • Custom Task চালানোর সময় প্রপার্টি ও ইনপুট প্যারামিটার পাস করতে পারেন।

এইভাবে, আপনি ANT-এর বিল্ড প্রক্রিয়ায় কাস্টম টাস্ক তৈরি এবং অন্তর্ভুক্ত করে অতিরিক্ত কার্যকলাপ সম্পাদন করতে পারবেন, যা প্রজেক্টের নির্দিষ্ট প্রয়োজন অনুসারে কাস্টমাইজ করা যাবে।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion